package io.yuncheng.modules.sys.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

import io.yuncheng.common.utils.DateUtils;
import io.yuncheng.common.utils.NumberUtil;
import lombok.Data;
import org.springframework.util.ObjectUtils;

/**
 * 密评以及风评方案
 *
 * @author jared
 * @email 15721509625@163.com
 * @date 2020-11-23 16:33:35
 */
@Data
@TableName("sub_app_assessment_split")
public class SubAppAssessmentSplitEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 *
	 */
	@TableId
	private Long id;
	/**
	 * 应用id
	 */
	private Long appId;
	/**
	 * 应用密码要求等级1，2，3，4
	 */
	private Integer appLevel;
	/**
	 * 评论类型1.风评2.密评
	 */
	private Integer assessmentType;
	/**
	 * 风评时间
	 */
	private Date assessmentDate;
	/**
	 * 控制点1
	 */
	private Integer splitTypeOne;
	/**
	 * 控制点1
	 */
	private String splitTypeDescOne;
	/**
	 * 控制点2
	 */
	private Integer splitTypeTwo;
	/**
	 * 控制点2
	 */
	private String splitTypeDescTwo;
	/**
	 * 控制点3
	 */
	private Integer splitTypeThree;
	/**
	 * 控制点3
	 */
	private String splitTypeDescThree;
	/**
	 * 等级监控描述
	 */
	private String levelMsg;
	/**
	 * 结果
	 */
	private String resultType;
	/**
	 * 结果描述
	 */
	private String resultTypeDesc;
	/**
	 * 符合
	 */
	private String conform;
	/**
	 * 部分符合
	 */
	private String partialConform;
	/**
	 * 不符合
	 */
	private String unConform;
	/**
	 * 不适用
	 */
	private String inconformity;
	/**
	 * 创建时间
	 */
	private Date createDate;
	/**
	 * 状态0:无效，1 有效
	 */
	private Integer status;
	/**
	 * 唯一码
	 */
	private String uniqueId;
	/**
	 * 文件地址
	 */
	private String filePath;

	/**
	 * appId和密评日期分组
	 * @return
	 */
	public String buildKey(){
		return 	DateUtils.format(this.getAssessmentDate());
	}

	public Integer buildNum(){
		if(!ObjectUtils.isEmpty(getResultType())){
			return Integer.valueOf(getResultType());
		}
		return 0;
	}

	/**
	 * 统计符合请客
	 * @return
	 */
	public Integer buildConform(){
		String s = NumberUtil.stringAdd(getConform(), getPartialConform());
		String s1 = NumberUtil.stringAdd(getUnConform(), getInconformity());
		String s2 = NumberUtil.stringAdd(s, s1);
		return Integer.valueOf(s2);
	}

}
